# -*- coding: utf-8 -*-

if __name__ == '__main__':
    # 输出内容为 ['\xe9\x86\x89\xe9\x85\x92\xe5\x89\x91\xe7\xa7\x8b', u'\u9189\u9152\u5251\u79cb']
    # 说明python中string是以16进制存储的( \x )，而unicode是以unicode编码表示的( \u )
    # 特别需要注意的是s_ward的编码格式是和文档相关的，因为文档第一行标记使用utf-8格式，所以是utf-8的二进制编码格式
    # 同时需要注意即便生命使用utf-8编码，使用os方法获取路径时仍然会获取到gbk格式的中文路径，此处是和系统使用的编码格式相关的
    s_word = "醉酒剑秋";
    u_word = u"醉酒剑秋";
    print [s_word, u_word];
    
    # 解释一下编码unicode, utf-8, utf-16的区别
    # uncode是一个符号集，规定了文字符号与二进制的一一对应关系，比如 \u9189 <---> 醉，但是却并没有规定二进制的存储方式
    # utf-8和utf-16是unicode的不同的实现方式 \xe9\x86\x89(utf-8) <---> \u9189 <---> 醉 是这样的对照关系
    # \u9189 <---> 醉 这是规定，定义所以不需要解释
    # utf-8转unicode例子：
    # \xe9\x86\x89 <---> \u9189 则是utf-8的编码规则，具体的转换步骤如下，可参考utf-8编码的详细规则
    # \xe9\x86\x89 <---> 11101001 10000110 10001001
    # 11101001 10000110 10001001 说明1110这个字符有3个字节组成，剩余每个字节以10开始
    #     1001   000110   001001 去掉填充字节后
    # 1001 0001 1000 1001 <---> 9189